home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- from rdflib.syntax.xml_names import split_uri
- XMLLANG = u'http://www.w3.org/XML/1998/namespace#lang'
-
- class QNameProvider(object):
-
- def __init__(self):
- self._QNameProvider__cache = { }
- self._QNameProvider__namespace = { }
- self._QNameProvider__prefix = { }
- self.set_prefix('xml', u'http://www.w3.org/XML/1998/namespace')
- self._QNameProvider__prefix[u'http://www.w3.org/XML/1998/namespace#'] = 'xml'
-
-
- def get(self, uri):
- qname = self._QNameProvider__cache.get(uri, None)
- if qname is None:
- self.compute(uri)
- return self.get(uri)
- return qname
-
-
- def compute(self, uri):
- if uri not in self._QNameProvider__cache:
- (namespace, name) = split_uri(uri)
- prefix = self._QNameProvider__prefix.get(namespace, None)
- if prefix is None:
- prefix = '_%s' % len(self._QNameProvider__namespace)
- self.set_prefix(prefix, namespace)
-
- if prefix == '':
- self._QNameProvider__cache[uri] = name
- else:
- self._QNameProvider__cache[uri] = ':'.join((prefix, name))
-
-
-
- def set_prefix(self, prefix, namespace):
- if prefix in self._QNameProvider__namespace:
- raise 'NYI: prefix already set'
- prefix in self._QNameProvider__namespace
- self._QNameProvider__namespace[prefix] = namespace
- self._QNameProvider__prefix[namespace] = prefix
-
-
- def namespaces(self):
- for prefix, namespace in self._QNameProvider__namespace.iteritems():
- yield (prefix, namespace)
-
-
-
-